A business process management (“BPM”) engine provides orchestration for sequences of business activities (called a “business process” or simply “process”) in an asynchronous, reliable, and stateful manner.
The business process may be defined as an activity flow model, typically declared using a procedural markup language, for example in eXtensible Markup Language (“XML”). An “activity” represents either human performed tasks or automated software/web services (“Service”) accessed, for example, through an application programming interface (“API”). Services may be invoked from more than within a BPM business process, for example a business process (“Process”), a business event (“Event”) and/or a Java application; collectively these are referred to throughout this specification as a “Caller”.
It would be advantageous to invoke a Service in an extensible execution framework.